/*
Copyright (c) [2019年5月1日] [吴超]
[MBT_studio] is licensed under Mulan PSL v2.
You can use this software according to the terms and conditions of the Mulan PSL v2.
You may obtain a copy of Mulan PSL v2 at:
		 http://license.coscl.org.cn/MulanPSL2
THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
See the Mulan PSL v2 for more details.
*/
#pragma once


#include <几何数据.h>

#include <底层绘图/S_纹理.h>



struct S_帧缓存 {
	ivec2		m_Size;

	S_帧缓存(const ivec2 size = {1,1});

	virtual void	f_渲染到纹理(uint32 texID_color, uint32 texID_depth = 0) {}
	virtual void	f_渲染到纹理结束() {}

	virtual void	f_release() = 0;
	virtual void	f_构建交换链缓存(S_设备环境& ctx, uint8 附件数量) = 0;
	//virtual void	f_构建交换链缓存(VkDevice& dev, VkRenderPass& rp, uint8 附件数量);

};



struct S_渲染缓存 {


	S_渲染缓存();

	virtual void	f_创建颜色缓存() {}
	virtual void	f_创建深度缓存() {}

	virtual void	f_绑定颜色纹理(S_纹理* t, ivec2 size = { 512, 512 }, bool 自动创建 = true) = 0;
	virtual void	f_绑定深度纹理(S_纹理* t, ivec2 size = { 512, 512 }, bool 自动创建 = true) = 0;

	
};





